$(function() {
	$("#phongid").hide();
    var phongID = $("#phongid").text();
    function Phong(data){
        this.id = data.id;
        this.Ten = data.TenPhongg;
    };
    function Taisan(data){
        this.id = data.id;
        this.TenTS = data.TenTS;
        this.TinhTrang = data.TinhTrang;
        this.SoLuong = data.SoLuong
    }

    function ViewModel(){
    	var self = this;
    	self.CtPhongs = ko.observableArray();
        self.TSChon = ko.observable();
        // form them tai san
        self.TaiSans = ko.observableArray();
        self.TSThem = ko.observable();
        self.SLSD = ko.observable(0);
        self.SLCL = ko.observable(0);
        self.SLThem = ko.observable(0);
        self.Thongbao = ko.observable("thong bao loi");
        self.CoTB = ko.observable(0);
        // form Sua tai san
        self.TSSua = ko.observable();
        self.Tots = ko.observable(0);
        self.Suas = ko.observable(0);
        self.TinhTrangs = ko.observableArray(["Hư", "Sửa"]);
        self.TTChon = ko.observable();
        self.SLThayDoi = ko.observable(0);
        // form Chuyen Tai san
        self.TSChuyen = ko.observable();
        self.Phongs = ko.observableArray();
        self.PhongChon = ko.observable();
        self.SLChuyen = ko.observable(0);

    	//methods
        self.DongForm = function() {
            $("#dialog-ThemTS").dialog("close");
            $("#dialog-SuaTS").dialog("close");
            $("#dialog-ChuyenTS").dialog("close");
            self.CoTB(0);
            self.update();
        };
        self.ThemTS = function() {
            if (self.SLCL() <= 0 || self.SLThem() > self.SLCL()) {
                self.Thongbao("Số lượng tồn không đủ để thêm!!!");
                self.CoTB(1);
            }
            else if (self.SLThem() <= 0 ) {
                self.Thongbao("Số lượng nhập phải lớn hơn 0!!!");
                self.CoTB(1);
            }
            else if (self.SLThem() > 0 && self.SLThem() <= self.SLCL()) {
                $.ajax({
                        url: 'addTS',
                        type: 'post',
                        data: {
                            'pid': phongID,
                            'tsid': self.TSChon().id,
                            'soluong': self.SLThem()
                        },
                        success : function(data) {
                            self.Thongbao("Thêm thành công!!!");
                            self.CoTB(1);
                            self.ShowSLTS();
                        }
                })
            };
        }
        self.ChonThem = function() {
            self.TSChon(self.TSThem());
            self.ShowSLTS();
        }
        self.SuaTS = function() {
            if (self.TTChon() == "Hư") {
                if (self.SLThayDoi() <= 0 || self.SLThayDoi() == null) {
                    self.Thongbao("Số lượng nhập phải lớn hơn 0!!!");
                    self.CoTB(1);
                }
                else if (self.SLThayDoi() > self.Tots()) {
                    self.Thongbao("Số lượng nhập phải nhỏ hơn số lượng trong phòng!!!");
                    self.CoTB(1);   
                }
                else {
                    // CHuyển tài sản tốt thành đang sửa
                     $.ajax({
                        url: 'suaTS',
                        type: 'post',
                        data: {
                            'pid': phongID,
                            'tsid': self.TSChon().id,
                            'tt1': 'Tốt',
                            'tt2': 'Đang Sửa',
                            'soluong': self.SLThayDoi()
                        },
                         success : function(data) {
                             self.Thongbao("Lưu thông tin tài sản cần sửa thành công!!!");
                             self.CoTB(1);
                             self.ShowSLTS();
                         }
                    })
                };
            }
            else{
                if (self.SLThayDoi() <= 0 || self.SLThayDoi() == null) {
                    self.Thongbao("Số lượng nhập phải lớn hơn 0!!!");
                    self.CoTB(1);
                }
                else if (self.SLThayDoi() > self.Suas()) {
                    self.Thongbao("Số lượng nhập phải nhỏ hơn số lượng đang sửa!!!");
                    self.CoTB(1);   
                }
                else {
                    // CHuyển tài sản tốt thành đang sửa
                     $.ajax({
                        url: 'suaTS',
                        type: 'post',
                        data: {
                            'pid': phongID,
                            'tsid': self.TSChon().id,
                            'tt1': 'Đang sửa',
                            'tt2': 'Tốt',
                            'soluong': self.SLThayDoi()
                        },
                         success : function(data) {
                             self.Thongbao("Lưu thông tin tài sản cần sửa thành công!!!");
                             self.CoTB(1);
                             self.ShowSLTS();
                         }
                    })
                };
            };
        }
        self.ChonSua = function() {
            self.TSChon(self.TSSua());
            self.ShowSLTS();
        }
        self.ChuyenTS = function(){
            if (self.SLChuyen() <= 0) {
                self.Thongbao("Số lượng nhập phải lớn hơn 0!!!");
                self.CoTB(1);
            }
            else if (self.SLChuyen() > self.Tots()) {
                self.Thongbao("Số lượng nhập phải nhỏ hơn hay bằng số lượng có thể chuyển!!!");
                self.CoTB(1);
            }
            else {
                $.ajax({
                    url: 'chuyenTS',
                    type: 'post',
                    data: {
                        'tsid': self.TSChon().id,
                        'p1id': phongID,
                        'p2id': self.PhongChon().id,
                        'soluong': self.SLChuyen()
                    },
                    success : function(data) {
                        self.Thongbao("Đã chuyển tài sản sang " + self.PhongChon().Ten + " thành công!!!");
                        self.CoTB(1);
                        self.ShowSLTS();
                    }
                })
            }
        }
        self.ChonChuyen = function() {
            self.TSChon(self.TSChuyen());
            self.ShowSLTS();
        }
        $.getJSON('/thong_kes/getPhong.json', function (allData) {
            var mappedPhongs = $.map(allData, function (item) { return new Phong(item) });
            self.Phongs(mappedPhongs);
        });
        self.update = function(){
            $.getJSON("getCtPhong.json?phongid=" + phongID, function(allData){
                var mappedCts = $.map(allData, function(item){ return new Taisan(item)});
                self.CtPhongs(mappedCts);
            });
        };
        self.update();
        $.getJSON('/thong_kes/getTaiSan.json', function (allData) {
            var mappedTSs = $.map(allData, function (item) { return new Taisan(item) });
            self.TaiSans(mappedTSs);
        });
        self.ShowSLTS = function(){
            $.getJSON('getSLTS.json?phongid=' + phongID + '&&tsid=' + self.TSChon().id, function (allData) {
                self.SLSD(allData.slsd);
                self.SLCL(allData.slcl);
                self.Tots(allData.slct);
                self.Suas(allData.slds);
            });
        }
    }
    // dialog form Thêm tài sản vào phòng
    $('#ThemTS').click(function () {
        $("#dialog-ThemTS").dialog("open");
    });
    $("#dialog-ThemTS").dialog({
        autoOpen:false,
        height:270,
        width:520,
        modal:true,
        buttons: [{
            text: 'Thêm',
            class: 'submit-btn',
            'data-bind': 'click: ThemTS',
            click: function(){}
        },
            {
                text: 'Thoát',
                'data-bind': 'click: DongForm',
                click:function(){}
            }
        ]
    });
    // Dialog form Thay đổi số lượng tình trạng
    $('#SuaTS').click(function () {
        $("#dialog-SuaTS").dialog("open");
    });
    $("#dialog-SuaTS").dialog({
        autoOpen:false,
        height:325,
        width:600,
        modal:true,
        buttons: [{
            text: 'Lưu',
            class: 'submit-btn',
            'data-bind': 'click: SuaTS',
            click: function(){}
        },
            {
                text: 'Thoát',
                'data-bind': 'click: DongForm',
                click:function(){}
            }
        ]
    });
    // Dialog form Thay đổi số lượng tình trạng
    $('#ChuyenTS').click(function () {
        $("#dialog-ChuyenTS").dialog("open");
    });
    $("#dialog-ChuyenTS").dialog({
        autoOpen:false,
        height:280,
        width:600,
        modal:true,
        buttons: [{
            text: 'Lưu',
            class: 'submit-btn',
            'data-bind': 'click: ChuyenTS',
            click: function(){}
        },
            {
                text: 'Thoát',
                'data-bind': 'click: DongForm',
                click:function(){}
            }
        ]
    });

    ko.applyBindings(new ViewModel());
});